package kr.hkit.powerjava.chapter25.chat;

public class QuizProtocol {
	private static final int WAITING=0;
	private static final int PROBLEM=1;
	private static final int ANSWER=2;
	private static final int NUMPROBLEM=3;//문제 수
	
	private int state= QuizProtocol.WAITING;//현재 상태 값
	private int currentProblem=0;//계속증가하면 문제 선택(현재 문재 번호)
	private String[]problems={
			"네트워크 처리 패키지는?",
			"자바 최신 버전은?",
			"인터넷에서 컴퓨터를 식별하는 주소는?"
	};
	private String[] answers={"java.io","1.7","IP 주소"};
	public String process(String theInput){
		String theOutput= null;
		switch(state){
			case QuizProtocol.WAITING:
				theOutput="퀴즈를 시작합니다(y/n)";
				state= QuizProtocol.PROBLEM;
				break;
			case QuizProtocol.PROBLEM:
				if(theInput.equalsIgnoreCase("y")){
					theOutput=problems[currentProblem];//0이므로 0번 문제가 출제
					state=QuizProtocol.ANSWER;//자동으로 앤서로 간다
				}else{
					state=QuizProtocol.WAITING;//퀴즈 시작하지 않겠다!
					theOutput="quit!!";
				}
				break;
			case QuizProtocol.ANSWER:
				if(theInput.equalsIgnoreCase(answers[currentProblem])){
					theOutput="정답입니다.계속하시겠습니까????(y/n)";//문제계속풀기
					state=QuizProtocol.PROBLEM;
				}else{
					theOutput="오답입니다.계속하시겠습니까????(y/n)";
					state=QuizProtocol.PROBLEM;
				}
				currentProblem=(currentProblem+1)%NUMPROBLEM;//0,1,2차례대로
				break;
		}
		return theOutput;
	}
}
